#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "llist.h"

#define N	20

static void show_int(const void *data);
static int cmp_int(const void *data1, const void *data2);

int main(void)
{
	llist_t *me = NULL;
	int i;
	int r;
	int *find;

	// 创建表
	llisthead_init(&me, sizeof(int));

	for (i = 0; i < N; i++) {
		r = i + 1;	
		llist_insert_tail(me, &r);
	}

	llist_traval(me, show_int);
	printf("\n");

	i = 15;
	llist_delete(me, &i, cmp_int);
	i = 20;
	llist_delete(me, &i, cmp_int);
	i = 1;
	llist_delete(me, &i, cmp_int);
	llist_traval(me, show_int);
	printf("\n");

	llist_destroy(&me);

	return 0;
}

static void show_int(const void *data)
{
	const int *d = (const int *)data;
	printf("%d ", *d);
}

static int cmp_int(const void *data1, const void *data2)
{
	const int *d1 = (const int *)data1;
	const int *d2 = (const int *)data2;

	return *d1 - *d2;
}





